// ：知识点1：之所以存在派生类到基类的类型转换是因为派生类之中含有基类的部分，但是基类中并不含有派生类中的成员，所以一个基类对象既可能是以独立的形式存在，也可能是派生类对象的一部分，所以不存在从基类到派生类之间的自动类型转换（可以将派生类转化为基类）

// 知识点2：派生类到基类的类型转换只针对与引用或者指针的类型，其本类型是不支持的，即对象之间不存在类型转换

// 知识点3：当我们用一个派生类的对象给一个基类对象初始化或者赋值时，只有其基类的部分被拷贝、移动或者赋值，它的派生类部分将会被忽略掉

// 答案：ifstream 从 istream中派生而来，是一个对象，所以可以正常使用

// 关键点：存在继承关系的类型之间的转换规则

// 1：从派生类像基类类型转换只有对指针或者引用类型有效

// 2：基类到派生类不存在隐式类型转换

// 3：派生类到基类的类型转换也可能会由于访问限制而变得不可行